package cn.rwklyd.BookKeeping.pojo.vo;

import cn.rwklyd.BookKeeping.pojo.BudgetCategory;
import cn.rwklyd.BookKeeping.pojo.Category;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
@Schema(description = "预算分类视图对象")
public class BudgetCategoryVO {
    @Schema(description = "当月总支出")
    private BigDecimal totalMonthlyExpense;
    
    @Schema(description = "总预算金额")
    private BigDecimal totalBudget;
    
    @Schema(description = "剩余预算")
    private BigDecimal remainingBudget;
    
    @Schema(description = "预算分类列表")
    private List<CategoryDetail> categories;
    
    @Data
    @Schema(description = "预算分类详情")
    public static class CategoryDetail {
        @Schema(description = "预算分类信息")
        private BudgetCategory budgetCategory;
        
        @Schema(description = "分类信息")
        private Category category;
        
        @Schema(description = "当月该分类消费")
        private BigDecimal monthlyExpense;
        
        @Schema(description = "预算使用百分比")
        private BigDecimal usagePercentage;
    }
}